Determining end of print job in a handheld image translation device

ABSTRACT

Systems, apparatuses, and methods for determining an end of printing operation in a handheld image translation device are described herein. The determining of the end of the printing operation may include generation and maintenance of a processed image by an image processing module and a print module, respectively. The print module may rewrite print data of the processed image as the printing operation progresses.

CROSS-REFERENCES TO RELATED APPLICATIONS

The present disclosure is a continuation of and claims priority to U.S.patent application Ser. No. 13/323,740, filed Dec. 12, 2011, now U.S.Pat. No. 8,462,379 issued Jun. 11, 2013, which is a continuation of U.S.patent application Ser. No. 11/968,528, filed Jan. 2, 2008, now U.S.Pat. No. 8,077,343, issued Dec. 13, 2011, which claims priority under 35U.S.C. §119(e) to U.S. Provisional Patent Application No. 60/883,207,filed Jan. 3, 2007, which are incorporated herein by reference.

TECHNICAL FIELD

Embodiments of the present invention relate to the field of printingand, in particular, to determining an end of print job in handheld imagetranslation device.

BACKGROUND

Traditional printing devices rely on a mechanically operated carriage totransport a print head in a linear direction as other mechanics advancea medium in an orthogonal direction. As the print head moves over themedium an image may be laid down. Portable printers have been developedthrough technologies that reduce the size of the operating mechanics.However, the principles of providing relative movement between the printhead and medium remain the same as traditional printing devices.Accordingly, these mechanics limit the reduction of size of the printeras well as the material that may be used as the medium.

The mechanized motion of the print head and medium in traditionalprinting devices allow for image data to be queued up in a predeterminedand predictable manner. The print head will advance over the medium at arate that will allow all of the necessary ink to be deposited at eachlocation. Once the print head has passed over a sufficient amount of thesurface of the medium to print the image in memory, the print job iscomplete.

While this image feed may work well with traditional printers, therandom motion of a handheld printing device prevents a similar relianceon the steady, consistent, and predictable advancement of the print headover the surface of the medium.

SUMMARY

In view of the challenges in the state of the art, at least someembodiments of the present invention are based on the technical problemof determining an end of a print job in a handheld image translationdevice. More specifically, there is provided, in accordance with variousembodiments of the present invention, a control block of a handheldimage translation device that includes a communication interface, whichmay be a wireless communication interface, configured to receive animage from an image source; an image processing module configured toprocess the image to provide a processed image having print dataassociated with each of a plurality of image locations; a positioningmodule configured to control one or more navigation sensors to capture aplurality of navigational measurements, and to determine a position ofan image translation device relative to a reference point based at leastin part on the plurality of navigational measurements; and a printmodule configured to receive the determined position of the imagetranslation device; to cause a printing substance to be deposited on themedium based at least in part on print data associated with an imagelocation of the plurality of image locations that corresponds to thedetermined position; and to rewrite the print data associated with theimage location.

In some embodiments, the print data associated with the image locationmay include a value for each of a plurality of colors. The print modulemay rewrite the print data associated with the image location bydecrementing one or more of the values for each of the plurality ofcolors. This may be based on an amount of printing substance that wasdeposited in the determined position.

In some embodiments, the image translation device may include memoryconfigured to retain the processed image throughout a printingoperation.

A method is also provided in accordance with various embodiments. Themethod may include receiving an image from an image source; processingthe image to provide a processed image having print data associated witheach of a plurality of image locations; controlling one or morenavigation sensors to capture a plurality of navigational measurements;determining a position of an image translation device relative to areference point based at least in part on the plurality of navigationalmeasurements; depositing a printing substance on the medium based atleast in part on print data associated with an image location of theplurality of image locations that corresponds to the determinedposition; and rewriting the print data associated with the imagelocation based at least in part on said depositing of the printingsubstance.

In some embodiments, the rewriting of the print data associated with theimage location may include decrementing one or more values for each of aplurality of colors of the print data.

In some embodiments, the method may further include determining a numberof image locations of the plurality of image locations having print datawith non-zero values; and determining an end of a printing operation ofthe processed image based at least in part on the determined number. Adistribution of the number of image locations may also be determined andused as an additional/alternative basis for determining the end of theprinting operation of the received image.

In some embodiments, the method may include determining a total value ofthe print data of the plurality of image locations; and determining anend of the printing operation of the processed image based at least inpart on the determined total value.

An image translation device may also be provided in accordance withembodiments of the present invention. The image translation device mayinclude means for receiving an image from an image source; means forprocessing the image to provide a processed image having print dataassociated with each of a plurality of image locations; means forcontrolling one or more navigation sensors to capture a plurality ofnavigational measurements; means for determining a position of an imagetranslation device relative to a reference point based at least in parton the plurality of navigational measurements; means for depositing aprinting substance on the medium based at least in part on the printdata associated with an image location of the plurality of imagelocations that corresponds to the determined position; and means forrewriting the print data associated with the image location based atleast in part on said depositing of the printing substance.

The print data may include a value for each of a plurality of colors andthe means for rewriting the print data associated with the imagelocation may decrement one or more of the values for each of theplurality of colors.

In some embodiments, the image translation device may include a meansfor determining a number of image locations of the plurality of imagelocations having print data with non-zero values; and means fordetermining an end of a printing operation of the processed image basedat least in part on the determined number. A means for determining adistribution of the number of image locations may also be included. Themeans for determining an end of the printing operation mayadditionally/alternatively factor in this determined distribution.

In some embodiments, the image translation device may include a meansfor determining a total value of the print data of the plurality ofimage locations, which may be used by the means for determining an endof the printing operation.

A machine-accessible medium having associated instructions is alsoprovided in accordance with various embodiments. The associatedinstructions, when executed, may result in an image translation devicereceiving an image from an image source; processing the image to providea processed image having print data associated with each of a pluralityof image locations; controlling one or more navigation sensors tocapture a plurality of navigational measurements; determining a positionof the image translation device relative to a reference point based atleast in part on the plurality of navigational measurements; depositinga printing substance on the medium based at least in part on the printdata associated with an image location of the plurality of imagelocations that corresponds to the determined position; and rewriting theprint data associated with the image location based at least in part onsaid depositing of the printing substance.

The print data may include a value for each of a plurality of colors andthe associated instructions, when executed, may further result in theimage translation device rewriting the print data associated with theimage location by decrementing one or more of the values for each of theplurality of colors.

In some embodiments the associated instructions, when executed, furtherresults in the image translation device determining a number of imagelocations of the plurality of image locations having print data withnon-zero values; and determining an end of a printing operation of theprocessed image based at least in part on the determined number.Determining an end of the printing operation mayadditionally/alternatively be based on a determined distribution of thenumber of image locations and/or a determined total value of the printdata of the plurality of image locations.

Other features that are considered as characteristic for embodiments ofthe present invention are set forth in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be described by way of exemplary embodiments,but not limitations, illustrated in the accompanying drawings in whichlike references denote similar elements, and in which:

FIG. 1 is a schematic of a system including a handheld image translationdevice in accordance with various embodiments of the present invention;

FIG. 2 is a bottom plan view of a handheld image translation device inaccordance with various embodiments of the present invention;

FIG. 3 is a top plan view of an image translation device in accordancewith various embodiments of the present invention;

FIG. 4 is a flow diagram depicting a positioning operation of a handheldimage translation device in accordance with various embodiments of thepresent invention;

FIG. 5 is a flow diagram depicting a printing operation of a handheldimage translation device in accordance with various embodiments of thepresent invention;

FIG. 6 is a flow diagram depicting an image processing operation inaccordance with various embodiments of the present invention;

FIG. 7 is a representation of a processed image in memory in accordancewith various embodiments of the present invention;

FIG. 8 is a flow diagram depicting a printing operation and associatedmaintenance of a processed image in accordance with various embodimentsof the present invention;

FIG. 9 is a flow diagram depicting a scanning operation of a handheldimage translation device in accordance with various embodiments of thepresent invention; and

FIG. 10 illustrates a computing device capable of implementing a controlblock of a handheld image translation device in accordance with variousembodiments of the present invention.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which are shown, by way ofillustration, specific embodiments in which the invention may bepracticed. It is to be understood that other embodiments may be utilizedand structural or logical changes may be made without departing from thescope of the present invention. Therefore, the following detaileddescription is not to be taken in a limiting sense, and the scope of thepresent invention is defined by the appended claims and theirequivalents.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification do not necessarily all refer to the sameembodiment, but they may.

The phrase “A and/or B” means (A), (B), or (A and B). The phrase “A, B,and/or C” means (A), (B), (C), (A and B), (A and C), (B and C) or (A, Band C). The phrase “(A) B” means (A B) or (B), that is, A is optional.

FIG. 1 is a schematic of a system 100 including a handheld imagetranslation device 104, hereinafter image translation device 104, inaccordance with various embodiments of the present invention. The imagetranslation device 104 may include a control block 108 with componentsdesigned to facilitate precise and accurate positioning of a print head112 throughout an entire image translation operation. This positioningmay allow for reliable image translation in a truly mobile and versatileplatform as will be explained herein.

Image translation, as used herein, may refer to a translation of animage that exists in a particular context (e.g., medium) into an imagein another context. For example, an image translation operation may be ascan operation. In this situation, a target image, e.g., an image thatexists on a tangible medium, is scanned by the image translation device104 and an acquired image that corresponds to the target image iscreated and stored in memory of the image translation device 104. Foranother example, an image translation operation may be a printoperation. In this situation, an acquired image, e.g., an image as itexists in memory of the image translation device 104, may be printedonto a medium.

The control block 108 may include a communication interface 116configured to communicatively couple the control block 108 to otherdevices 120, which may include an image source 124. The image source 124may be any type of device capable of transmitting data related to animage to be printed. The image source 124 may include a general purposecomputing device, e.g., a desktop computing device, a laptop computingdevice, a mobile computing device, a personal digital assistant, acellular phone, etc. or it may be a removable storage device, e.g., aflash memory data storage device, designed to store data such as imagedata. If the image source 124 is a removable storage device, e.g., auniversal serial bus (USB) storage device, the communication interfacemay include a port, e.g., USB port, designed to receive the storagedevice.

The communication interface 116 may include a wireless transceiver toallow the communicative coupling with the image source 124 to take placeover a wireless link. The image data may be wirelessly transmitted overthe link through the modulation of electromagnetic waves withfrequencies in the radio, infrared or microwave spectrums.

A wireless link may contribute to the mobility and versatility of theimage translation device 104. However, some embodiments mayadditionally/alternatively include a wired link communicatively couplingone or more of the other devices 120 to the communication interface 116.

In some embodiments, the communication interface 116 may communicatewith the other devices 120 through one or more wired and/or wirelessnetworks including, but not limited to, personal area networks, localarea networks, wide area networks, metropolitan area networks, etc. Thedata transmission may be done in a manner compatible with any of anumber of standards and/or specifications including, but not limited to,802.11, 802.16, Bluetooth, Global System for Mobile Communications(GSM), code-division multiple access (CDMA), Ethernet, etc.

The communication interface 116 may transmit the received image data toan on-board image processing module 128. The image processing module 128may process the received image data in a manner to facilitate anupcoming printing process. Image processing techniques may includedithering, decompression, half-toning, color plane separation, and/orimage storage. In various embodiments some or all of these imageprocessing operations may be performed by the image source 124 oranother device. The processed image may then be transmitted to a printmodule 132 where it is cached in anticipation of a print operation.

The print module 132 may also receive positioning information,indicative of a position of the print head 112 relative to a referencepoint, from a positioning module 134. The positioning module 134 may becommunicatively coupled to one or more navigation sensors 138 configuredto capture navigational measurements.

In some embodiments, the navigational measurements may be navigationalimages of a medium adjacent to the image translation device 104. Inthese embodiments, the navigation sensors 138 may be referred to asimaging navigation sensors. An imaging navigation sensor may include alight source, e.g., LED, a laser, etc., and an optoelectronic sensordesigned to capture a series of navigational images of an adjacentmedium as the image translation device 104 is moved over the medium.

The positioning module 134 may process the navigational images to detectstructural variations of the medium. The movement of the structuralvariations in successive images may indicate motion of the imagetranslation device 104 relative to the medium. Tracking this relativemovement may facilitate determination of the precise positioning of thenavigation sensors 138. The navigation sensors 138 may be maintained ina structurally rigid relationship with the print head 112, therebyallowing for the calculation of the precise location of the print head112.

In other embodiments, non-imaging navigation sensors, e.g., anaccelerometer, a gyroscope, a pressure sensor, etc., may beadditionally/alternatively used to capture navigational measurements.

The navigation sensors 138 may have operating characteristics sufficientto track movement of the image translation device 104 with the desireddegree of precision. In one example, imaging navigation sensors mayprocess approximately 2000 frames per second, with each frame includinga rectangular array of 30×30 pixels. Each pixel may detect a six-bitgrayscale value, e.g., capable of sensing 64 different levels ofpatterning.

Once the print module 132 receives the positioning information it maycoordinate the location of the print head 112 to a portion of theprocessed image with a corresponding location. The print module 132 maythen control the print head 112 in a manner to deposit a printingsubstance on the medium to represent the corresponding portion of theprocessed image.

The print head 112 may be an inkjet print head having a plurality ofnozzles designed to emit liquid ink droplets. The ink, which may becontained in reservoirs/cartridges, may be black and/or any of a numberof various colors. A common, full-color inkjet print head may havenozzles for cyan, magenta, yellow, and black ink. Other embodiments mayutilize other printing techniques, e.g., toner-based printers such aslaser or light-emitting diode (LED) printers, solid ink printers,dye-sublimation printers, inkless printers, etc.

The control block 108 may also include an image capture module 142. Theimage capture module 142 may be communicatively coupled to one or moreoptical imaging sensors 146. The optical imaging sensors 146 may includea number of individual sensor elements. The optical imaging sensors 146may be designed to capture a plurality of surface images of the medium,which may be individually referred to as component surface images. Theimage capture module 142 may generate a composite image by stitchingtogether the component surface images. The image capture module 142 mayreceive positioning information from the positioning module 134 tofacilitate the arrangement of the component surface images into thecomposite image.

In an embodiment in which the image translation device 104 is capable ofscanning full color images, the optical imaging sensors 146 may have thesensors elements designed to scan different colors.

A composite image acquired by the image translation device 104 may besubsequently transmitted to one or more of the other devices 120 by,e.g., e-mail, fax, file transfer protocols, etc. The composite image maybe additionally/alternatively stored locally by the image translationdevice 104 for subsequent review, transmittal, printing, etc.

In addition (or as an alternative) to composite image acquisition, theimage capture module 142 may be utilized for calibrating the positioningmodule 134. In various embodiments, the component surface images(whether individually, some group, or collectively as the compositeimage) may be compared to the processed print image rendered by theimage processing module 128 to correct for accumulated positioningerrors and/or to reorient the positioning module 134 in the event thepositioning module 134 loses track of its reference point. This mayoccur, for example, if the image translation device 104 is removed fromthe medium during a print operation.

The image translation device 104 may include a power supply 150 coupledto the control block 108. The power supply 150 may be a mobile powersupply, e.g., a battery, a rechargeable battery, a solar power source,etc. In other embodiments the power supply 150 mayadditionally/alternatively regulate power provided by another component(e.g., one of the other devices 120, a power cord coupled to analternating current (AC) outlet, etc.).

FIG. 2 is a bottom plan view of an image translation device 200 inaccordance with various embodiments of the present invention. The imagetranslation device 200, which may be substantially interchangeable withthe image translation device 104, may have a pair of navigation sensors204, optical imaging sensors 208, and a print head 212.

The pair of navigation sensors 204 may be used by a positioning moduleto determine positioning information related to the optical imagingsensors 208 and/or the print head 212. As stated above, the proximalrelationship of the optical imaging sensors 208 and/or print head 212 tothe navigation sensors 204 may be fixed to facilitate the positioning ofthe optical imaging sensors 208 and/or print head 212 throughinformation obtained by the navigation sensors 204.

The print head 212 may be an inkjet print head having a number of nozzlerows for different colored inks. In particular, and as shown in FIG. 2,the print head 212 may have a nozzle row 212 c for cyan-colored ink, anozzle row 212 m for magenta-colored ink, a nozzle row 212 y foryellow-colored ink, and nozzle row 212 k for black-colored ink. Thenozzle rows of the print head 212 may be arranged around the opticalimaging sensors 208. This may allow for the optical imaging sensors 208to capture information about the ink deposited on the medium, whichrepresents the processed image in various formative stages, for thepredominant side-to-side motion of the image translation device 200.

In various embodiments the placement of the nozzles of the print head212 and the sensor elements of the optical imaging sensors 208 may befurther configured to account for the unpredictable nature of movementof the hand-propelled image translation device 200. For example, whilethe nozzles and sensor elements are arranged in linear arrays in theimage translation device 200 other embodiments may arrange the nozzlesand/or sensor elements in other patterns. In some embodiments thenozzles may be arranged completely around the sensor elements so thatwhichever way the image translation device 200 is moved the opticalimaging sensors 208 will capture component images reflecting depositedink. In some embodiments, the nozzles may be arranged in rings aroundthe sensor elements (e.g., concentric circles, nested rectangularpatterns, etc.).

While the nozzle rows 212 c, 212 m, 212 y, and 212 k shown in FIG. 2 arearranged in rows according to their color, other embodiments mayintermix the different colored nozzles in a manner that may increase thechances that an adequate amount of appropriate colored ink is depositedon the medium through the natural course of movement of the imagetranslation device 200 over the medium.

In the embodiment depicted by FIG. 2, the linear dimension of theoptical imaging sensors 208 may be similar to the linear dimension ofthe nozzle rows of the print head 212. The linear dimensions may referto the dimensions along the major axis of the particular component,e.g., the vertical axis of the optical imaging sensors 208 as shown inFIG. 2. Having similar linear dimensions may provide that roughly thesame amount of passes over a medium are required for a complete scan andprint operation. Furthermore, having similar dimensions may alsofacilitate the positioning calibration as a component surface imagecaptured by the optical imaging sensors 208 may correspond to depositsfrom an entire nozzle row of the print head 212.

FIG. 3 is a top plan view of the image translation device 200 inaccordance with various embodiments of the present invention. The imagetranslation device 200 may have a variety of user input/outputs toprovide the functionality enabled through use of the image translationdevice 200. Some examples of input/outputs that may be used to providesome of the basic functions of the image translation device 200 include,but are not limited to, a print control input 304 to initiate/resume aprint operation, a scan control input 308 to initiate/resume a scanoperation, and a display 312.

The display 312, which may be a passive display, an interactive display,etc., may provide the user with a variety of information. Theinformation may relate to the current operating status of the imagetranslation device 200 (e.g., printing, ready to print, scanning, readyto scan, receiving print image, transmitting print image, transmittingscan image, etc.), power of the battery, errors (e.g.,scanning/positioning/printing error, etc.), instructions (e.g.,“position device over a printed portion of the image for reorientation,”etc.). If the display 312 is an interactive display it may provide acontrol interface in addition to, or as an alternative from, the controlinputs 304 and 308.

FIG. 4 is a flow diagram 400 depicting a positioning operation of theimage translation device 200 in accordance with various embodiments ofthe present invention. A positioning operation may begin in block 404with an initiation of a scanning or a printing operation, e.g., byactivation of the print control input 304 or the scan control input 308.A positioning module within the image translation device 200 may set areference point in block 408. The reference point may be set when theimage translation device 200 is placed onto a medium at the beginning ofa print or scan job. This may be ensured by the user being instructed toactivate the control input once the image translation device 200 is inplace and/or by the proper placement of the image translation device 200being treated as a condition precedent to instituting the positioningoperation. In some embodiments the proper placement of the imagetranslation device 200 may be automatically determined through thenavigation sensors 204, the optical imaging sensors 208, and/or someother sensors (e.g., a proximity sensor).

Once the reference point is set in block 408, the positioning module maydetermine positioning information, e.g., translational and/or rotationalchanges from the reference point, using the navigation sensors 204 inblock 412. The translational changes may be determined by trackingincremental changes of the positions of the navigation sensors along atwo-dimensional coordinate system, e.g., Δx and Δy. Rotational changesmay be determined by tracking incremental changes in the angle of theimage translation device, e.g., A

, with respect to, e.g., the y-axis. These transitional and/orrotational changes may be determined by the positioning module comparingconsecutive navigational measurements captured by the navigation sensors204 to detect these movements.

The positioning module may also receive component surface images fromthe optical imaging sensors 208 and processed image data from the imageprocessing module in block 416. If the positioning information isaccurate, a particular component surface image from a given locationshould match a corresponding portion of the processed image. If thegiven location is one in which the print head 212 has depositedsomething less than the target print volume for the location, thecorresponding portion of the processed image may be adjusted to accountfor the actual deposited volume for comparison to the component surfaceimage. In the event that the print head 212 has yet to deposit anymaterial in the given location, the positioning information may not beverified through this method. However, the verification of thepositioning information may be done frequently enough given the constantmovement of the image translation device 200 and the physicalarrangement of the nozzle rows of the print head 212 in relation to theoptical imaging sensors 208.

If the particular component surface image from the given location doesnot match the corresponding portion of the processed image thepositioning module may correct the determined positioning information inblock 420. Given adequate information, e.g., sufficient materialdeposited in the location captured by the component surface image, thepositioning module may set the positioning information to the offset ofthe portion of the processed image that matches the component surfaceimage. In most cases this may be an identified pattern in closeproximity to the location identified by the incorrect positioninginformation. In the event that the pattern captured by the componentsurface image does not identify a pattern unique to the regionsurrounding the incorrect positioning information, multiple componentsurface images may be combined in an attempt to identify a uniquepattern. Alternatively, correction may be postponed until a componentsurface image is captured that does identify a pattern unique to thesurrounding region.

In some embodiments, the correction of the determined positioninginformation in block 420 may be done periodically in order to avoidoverburdening the computational resources of the positioning module.

Following correction in block 420, the positioning module may transmitpositioning information to the print module and/or image capture modulein block 422 and determine whether the positioning operation is completein block 424. If it is determined that positioning operation is not yetcomplete, the operation may loop back to block 412. If it is determinedthat it is the end of the positioning operation, the operation may endin block 428. The end of the positioning operation may be tied to theend of the printing/scanning operation, which will be discussed hereinin further detail.

FIG. 5 is a flow diagram 500 depicting a printing operation of the imagetranslation device 200 in accordance with various embodiments of thepresent invention. The printing operation may begin in block 504. Theprint module may receive a processed image from the image processingmodule in block 508. Upon receipt of the processed image, the displaymay indicate that the image translation device 200 is ready for printingin block 512.

The print module may receive a print command generated from a useractivating the print control input 304 in block 516. The print modulemay then receive positioning information from the positioning module inblock 520. The print module may then determine whether to depositprinting substance at the given position in block 524. The determinationas to whether to deposit printing substance may be a function of thetotal drop volume for a given location and the amount of volume that hasbeen previously deposited.

If it is determined that no additional printing substance is to bedeposited in block 524, the operation may advance to block 528 todetermine whether the end of the print operation has been reached. If itis determined that additional printing substance is to be deposited inblock 524, the print module may cause an appropriate amount of printingsubstance to be deposited in block 532 by generating and transmittingcontrol signals to the print head that cause the nozzles to drop theprinting substance.

The determination of whether the end of the printing operation has beenreached in block 528 may be a function of the printed volume versus thetotal print volume. In some embodiments the end of the printingoperation may be reached even if the printed volume is less than thetotal print volume. For example, an embodiment may consider the end ofthe printing operation to occur when the printed volume is ninety-fivepercent of the total print volume. However, it may be that thedistribution of the remaining volume is also considered in the end ofprint analysis. For example, if the five percent remaining volume isdistributed over a relatively small area, the printing operation may notbe considered to be completed.

In some embodiments, an end of print job may be established by a usermanually cancelling the operation.

If, in block 528, it is determined that the printing operation has beencompleted, the printing operation may conclude in block 536.

If, in block 528, it is determined that the printing operation has notbeen completed, the printing operation may loop back to block 520.

In some embodiments, the processing techniques performed by an imageprocessing module and maintenance of the processed image in memory bythe print module may facilitate the determinative operations of blocks524 and/or 528.

FIG. 6 is a flow diagram 600 depicting an image processing operation inaccordance with various embodiments of the present invention. The imageprocessing operation may begin in block 604. An image processing modulemay receive an image in block 608. The image processing module mayreceive the image from a communication interface or, in the event thatan image previously received needs to be reprocessed, from storageand/or memory.

The image processing module may process the image in a manner tofacilitate the handheld printing operation in block 612. After the imagehas been processed, the image processing module may place the processedimage in memory in block 616 to await access by the print module. Theimage processing operation may end in block 620.

FIG. 7 is a representation of a processed image 700 as found in memoryin accordance with various embodiments of the present invention. Theprocessed image 700 may have an array of print data to be used in theprinting of the image. An image location 704 may include print data 708that corresponds to a world-space position (x, y) on a medium relativeto a reference point 712. While the reference point 712 is shown asbeing in the upper left-hand corner, other embodiments may place thereference point 712 in other locations. The print data 708 from theimage location 704 may include values for a number of colors. As shown,the print data 708 may include a value of three for cyan, two formagenta and yellow, and one for black. In an inkjet embodiment, thevalues of the print data 708, or drop volume, may correspond to a numberof dots desired to be placed for color.

The image location 704 and print data 708 may be an aggregate of bitvalues stored in memory locations. An individual bit value maycorrespond to an individual colored dot.

FIG. 8 is a flow diagram 800 depicting a printing operation andassociated maintenance of a processed image, e.g., processed image 700,in memory in accordance with various embodiments of the presentinvention. Similar to the operation described in FIG. 5, the printingoperation may begin in block 804 with the receipt of a print command andthe print module may receive positioning information in block 808.

Assuming the positioning information received in block 808 correspondsto image location 704, the print module may access print data 708 atblock 812. Assume, in particular, that the positioning information ofone or more nozzles of the cyan nozzle row 212 c corresponds to theimage location 704, the print module may access the cyan values of theprint data 708, e.g., three as shown in FIG. 7. The print module maythen cause three dots of cyan-colored ink to be deposited at block 816.If the value of cyan was zero, no printing substance deposits may bemade.

After the print module controls the print head 212 to deposit thecyan-colored ink it may rewrite the cyan value of the print data 708 toreflect the remaining desired print volume in block 820. For example, ifthe nozzle was able to deposit all three dots, the print module mayrewrite the cyan value as zero; if the nozzle was only able to deposittwo dots, the print module may rewrite the cyan value as one; etc.

In various embodiments, the rewriting of the print data 708 may includerewriting one or more individual bit values within the print data 708from a value indicating a dot should be placed to a value indicating adot does not need to be placed.

Rewriting the values of the print data 708, as described, may provide aneffective way of conveying the print status of the image location 704 tothe print module. This is especially valuable due to the fact that theprint status of the image location 704 may need to be determinedmultiple times due to the possibility of the image translation device200 retracing the same area of the medium. Rewriting the values mayensure that the appropriate amount of printing substance is deposited ateach location regardless of how many times the image translation device200 is passed over the location.

Eventually, as the image translation device 200 is moved over themedium, the values of the print data of the processed image 700 will berewritten to zero. The end of the printing operation may be determinedin block 824, similar to determination of block 528 in FIG. 5. However,the rewriting of the print data taught by this embodiment may allow fora thorough analysis of the remainder of the print job. The number ofimage locations having print data with non-zero values, the volume ofthe remaining print data, and/or the distribution of the remaining printdata may be used as a basis for determining the end of printingoperation in block 824.

If it is determined that the end of the print operation has beenreached, the operation may end in block 828. Otherwise, the operationmay loop back to block 808.

The rewriting of the print data of the processed image 700, as describedherein, may consume the processed image 700 over the course of aprinting operation. Accordingly, if the same image is to be printedagain, the image processing module may access a stored version of theimage and reprocess the image for the subsequent printing.

FIG. 9 is a flow diagram 900 depicting a scanning operation of the imagetranslation device 200 in accordance with various embodiments of thepresent invention. The scanning operation may begin in block 904 withthe receipt of a scan command generated from a user activating the scancontrol input 308.

The image capture module may control the optical imaging sensors 208 tocapture one or more component images in block 908. In some embodiments,the scan operation will only commence when the image translation device200 is placed on a medium. This may be ensured by manners similar tothose discussed above with respect to the printing operation, e.g., byinstructing the user to initiate scanning operation only when the imagetranslation device 200 is in place and/or automatically determining thatthe image translation device 200 is in place.

The image capture module may receive positioning information from thepositioning module in block 912 and add the component images to thecomposite image in block 916. The image capture module may thendetermine if the scanning operation is complete in block 920.

The end of the scanning operation may be determined through a usermanually cancelling the operation and/or through an automaticdetermination. In some embodiments, an automatic determination of theend of scan job may occur when all interior locations of a predefinedimage border have been scanned. The predefined image border may bedetermined by a user providing the dimensions of the image to be scannedor by tracing the border with the image translation device 200 early inthe scanning sequence.

If, in block 920, it is determined that the scanning operation has beencompleted, the scanning operation may conclude in block 924.

If, in block 920, it is determined that the scanning operation has notbeen completed, the scanning operation may loop back to block 908.

FIG. 10 illustrates a computing device 1000 capable of implementing acontrol block, e.g., control block 108, in accordance with variousembodiments. As illustrated, for the embodiments, computing device 1000includes one or more processors 1004, memory 1008, and bus 1012, coupledto each other as shown. Additionally, computing device 1000 includesstorage 1016, and one or more input/output interfaces 1020 coupled toeach other, and the earlier described elements as shown. The componentsof the computing device 1000 may be designed to provide the printing,scanning, and/or positioning functions of a control block of an imagetranslation device as described herein.

Memory 1008 and storage 1016 may include, in particular, temporal andpersistent copies of code 1024 and data 1028, respectively. The code1024 may include instructions that when accessed by the processors 1004result in the computing device 1000 performing operations as describedin conjunction with various modules of the control block in accordancewith embodiments of this invention. The processing data 1028 may includedata to be acted upon by the instructions of the code 1024, e.g., printdata of a processed image. In particular, the accessing of the code 1024and data 1028 by the processors 1004 may facilitate image translationoperations as described herein.

The processors 1004 may include one or more single-core processors,multiple-core processors, controllers, application-specific integratedcircuits (ASICs), etc.

The memory 1008 may include various levels of cache memory and/or mainmemory and may be random access memory (RAM), dynamic RAM (DRAM), staticRAM (SRAM), synchronous DRAM (SDRAM), dual-data rate RAM (DDRRAM), etc.

The storage 1016 may include integrated and/or peripheral storagedevices, such as, but not limited to, disks and associated drives (e.g.,magnetic, optical), USB storage devices and associated ports, flashmemory, read-only memory (ROM), non-volatile semiconductor devices, etc.Storage 1016 may be a storage resource physically part of the computingdevice 1000 or it may be accessible by, but not necessarily a part of,the computing device 1000. For example, the storage 1016 may be accessedby the computing device 1000 over a network.

The I/O interfaces 1020 may include interfaces designed to communicatewith peripheral hardware, e.g., print head 112, navigation sensors 138,optical imaging sensors 146, etc., and/or remote devices, e.g., otherdevices 120.

In various embodiments, computing device 1000 may have more or lesselements and/or different architectures.

Although specific embodiments have been illustrated and describedherein, it will be appreciated by those of ordinary skill in the art andothers, that a wide variety of alternate and/or equivalentimplementations may be substituted for the specific embodiment shown anddescribed without departing from the scope of the present invention.This application is intended to cover any adaptations or variations ofthe embodiment discussed herein. Therefore, it is manifested andintended that the invention be limited only by the claims and theequivalents thereof.

What is claimed is:
 1. A method for determining an end of a printprocess in which a device prints an image onto a medium, the methodcomprising: determining a first volume of printing substance that is tobe deposited to completely print the image onto the medium; and whilethe device is being moved over the medium, depositing the printingsubstance onto the medium to print the image onto the medium, keepingtrack of a second volume of the printing substance actually depositedonto the medium while the device is being moved over the medium,performing a comparison between (i) the first volume of printingsubstance that is to be deposited to completely print the image onto themedium and (ii) the second volume of printing substance actuallydeposited onto the medium while the device is being moved over themedium, identifying a subset of a plurality of locations of the imagecorresponding to which printing substance is yet to be deposited, andbased on (i) the comparison and (ii) the subset of the plurality oflocations of the image corresponding to which the printing substance isyet to be deposited, determining the end of the print process.
 2. Themethod of claim 1, wherein determining the end of the print processfurther comprises: determining the end of the print process in responseto the second volume of printing substance actually deposited onto themedium being within a predetermined percentage of the first volume ofprinting substance that is to be deposited to completely print the imageonto the medium.
 3. The method of claim 2, wherein the predeterminedpercentage is at least as high as 95%.
 4. The method of claim 1, whereindetermining the end of the print process based on the subset of theplurality of locations of the image corresponding to which printingsubstance is yet to be deposited further comprises: determining the endof the print process in response to the subset of the plurality oflocations of the image not being distributed over a small area of themedium.
 5. The method of claim 1, wherein determining the end of theprint process based on the subset of the plurality of locations of theimage corresponding to which printing substance is yet to be depositedfurther comprises: determining the end of the print process based on adistribution of the subset of the plurality of locations of the image onthe medium.
 6. The method of claim 1, wherein the device is a handheldprinting device.
 7. The method of claim 1, further comprising: receivingan input from a user to end the print process, wherein determining theend of the print process further comprises determining the end of theprint process, also based on the input to end the print process.
 8. Adevice configured to print an image onto a medium, the devicecomprising: a print module configured to determine a first volume ofprinting substance that is to be deposited to completely print the imageonto the medium, wherein while the device is being moved over the mediumduring a print process to print the image onto the medium, the printmodule is configured to deposit the printing substance onto the mediumto print the image onto the medium, keep track of a second volume of theprinting substance actually deposited onto the medium while the deviceis being moved over the medium, perform a comparison between (i) thefirst volume of printing substance that is to be deposited to completelyprint the image onto the medium and (ii) the second volume of printingsubstance actually deposited onto the medium while the device is beingmoved over the medium, identify a subset of a plurality of locations ofthe image corresponding to which printing substance is yet to bedeposited, and based on (i) the comparison and (ii) the subset of theplurality of locations of the image corresponding to which the printingsubstance is yet to be deposited, determine the end of the printprocess.
 9. The device of claim 8, wherein the print module is furtherconfigured to determine the end of the print process by: determining theend of the print process in response to the second volume of printingsubstance actually deposited onto the medium being within apredetermined percentage of the first volume of printing substance thatis to be deposited to completely print the image onto the medium. 10.The device of claim 9, wherein the predetermined percentage is at leastas high as 95%.
 11. The device of claim 8, wherein the print module isfurther configured to determine the end of the print process, based onthe subset of the plurality of locations of the image corresponding towhich the printing substance is yet to be deposited by: determining theend of the print process in response to the subset of the plurality oflocations of the image not being distributed over a small area of themedium.
 12. The device of claim 8, wherein the print module is furtherconfigured to determine the end of the print process, based on thesubset of the plurality of locations of the image corresponding to whichthe printing substance is yet to be deposited by: determining the end ofthe print process based on a distribution of the subset of the pluralityof locations of the image on the medium.
 13. The device of claim 8,wherein the device is a handheld printing device.
 14. The device ofclaim 8, wherein the print module is further configured to: receive aninput from a user to end the print process, wherein the print module isfurther configured to determine the end of the print process bydetermining the end of the print process, also based on the input to endthe print process.